<?php

/**
 * A tester
 * @param NodeValue $node
 * @return string
 */
function getNodeContent($nodeParent)
{
	$enfants = $nodeParent->childNodes; // On récupère les nœuds enfants de code avec childNodes
	$nodeContent = '';
	
	foreach($enfants as $enfant) // On prend chaque nœud enfant séparément
	{
		$nom = $enfant->nodeName; // On prend le nom de chaque nœud
	
		if($nom == '#text')
		{
			$nodeContent .= $enfant->nodeValue;
		}
	}
	
	return $nodeContent;
}


/***
 * Récupère la liste de contact d'un code XML
 * In : source (fichier ou str)
 * Out : array(Contact)
 */
function XML_Contact_Parser($source)
{
	include_once 'DAO/Contact.php';
	
	$contactList = array();
	
	$document_xml = new DomDocument();
	$document_xml->load($source);
	
	$contactsNodeList = $document_xml->getElementsByTagName("Contact");
	
	foreach ($contactsNodeList as $contactsNode)
	{
		$c = new Contact();
				
		$node=$contactsNode->getElementsByTagName("Nom");
		$node = $node->item(0);
		$c->name = getNodeContent($node);
		
		$node=$contactsNode->getElementsByTagName("NumTel");
		$node = $node->item(0);
		$c->phoneNumber = getNodeContent($node);
		array_push($contactList, $c);
	}	
	return $ContactList;
}


/***
 * Récupère la liste de contact d'un code XML
* In : source (fichier ou str)
* Out : array(Contact)
*/
function XML_Message_Parser($source)
{
	include_once 'DAO/Message.php';

	$MessageDAOList = array();

	$document_xml = new DomDocument();
	$document_xml->load($source);

	$messagesNodeList = $document_xml->getElementsByTagName("SMS");

	foreach ($messagesNodeList as $messageNode)
	{
		$m = new Message();

		$node=$messageNode->getElementsByTagName("numTel");
		$node = $node->item(0);
		$m->phoneNumber = getNodeContent($node);

		$node=$messageNode->getElementsByTagName("texte");
		$node = $node->item(0);
		$m->texte = getNodeContent($node);
		
		$node=$messageNode->getElementsByTagName("date_heure_ts");
		$node = $node->item(0);
		$val = getNodeContent($node);
		$val = intval($val);
		$date = new DateTime();
		$date->setTimestamp($val);
		$m->dateRE = $date;
		
		
		$node=$messageNode->getElementsByTagName("expediteur");
		$node = $node->item(0);
		$val= getNodeContent($node);
		$m->isExpediteur = var_dump((bool) $val);
		
		array_push($MessageDAOList, $m);
	}
	return $MessageDAOList;
}


?>